﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading.Tasks;

namespace HzyEF.Core.Interface
{
    using HzyEF.Base;

    public interface IInsert<T>
    {
        IInsert<T> Execute(List<SqlStorage> SqlContainer, out object Id);
        object Execute();
        Task<object> ExecuteAsync();
        IInsert<T> IgnoreCols(Expression<Func<T, dynamic>> IgnoreColumns);
        IInsert<T> IgnoreCols(Expression<Func<T, dynamic>> IgnoreColumns, bool IF);
        SqlStorage ToSql(out object Id);

    }
}
